package cn.b.sky.mes.mm.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.mm.model.MessageConfig;
import cn.b.sky.mes.mm.model.condition.MessageConfigCondition;

/**
 * 
 * <strong>Title : WUMessageConfigDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.mm.dao<br></strong>
 * <strong>Description : </strong>作业单元消息配置数据接口<br> 
 * <strong>Create on : 2016年9月10日 下午1:20:58<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人|修改日期|修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface WUMessageConfigDao {

  /**
   * 
   * <strong>Title : getMsgConfigsByCondition<br></strong>
   * <strong>Description : </strong>获取消息配置<br> 
   * <strong>Create on : 2016年9月12日 上午10:30:42<br></strong>
   * <p>
   * @param condition
   * @return
   * List<MessageConfig>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<MessageConfig> getMsgConfigsByCondition(MessageConfigCondition condition);

  /**
   * 
   * <strong>Title : getMsgConfigsCountByCondition<br></strong>
   * <strong>Description : </strong>获取消息配置数量<br> 
   * <strong>Create on : 2016年9月12日 上午10:31:25<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getMsgConfigsCountByCondition(MessageConfigCondition condition);

  /**
   * 
   * <strong>Title : getMessageConfig<br></strong>
   * <strong>Description : </strong>查询消息配置<br> 
   * <strong>Create on : 2016年9月12日 上午10:36:13<br></strong>
   * <p>
   * @param messageConfig
   * @return
   * MessageConfig
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  MessageConfig getMessageConfig(MessageConfig messageConfig);

  /**
   * 
   * <strong>Title : getMessageConfigById<br></strong>
   * <strong>Description : </strong>根据主键查找消息配置<br> 
   * <strong>Create on : 2016年9月12日 下午1:10:18<br></strong>
   * <p>
   * @param id
   * @return
   * MessageConfig
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  MessageConfig getMessageConfigById(Long id);

  /**
   * 
   * <strong>Title : inertMessageConfig<br></strong>
   * <strong>Description : </strong>新增消息配置<br> 
   * <strong>Create on : 2016年9月12日 上午10:41:35<br></strong>
   * <p>
   * @param messageConfig
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void inertMessageConfig(MessageConfig messageConfig);

  /**
   * 
   * <strong>Title : updateMessageConfig<br></strong>
   * <strong>Description : </strong>更新消息配置<br> 
   * <strong>Create on : 2016年9月12日 上午10:41:57<br></strong>
   * <p>
   * @param messageConfig
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateMessageConfig(MessageConfig messageConfig);

  /**
   * 
   * <strong>Title : deleteMessageConfigById<br></strong>
   * <strong>Description : </strong>删除消息配置<br> 
   * <strong>Create on : 2016年9月12日 上午10:46:50<br></strong>
   * <p>
   * @param id
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteMessageConfigById(Long id);

  /**
   * 
   * <strong>Title : insertMessageUser<br></strong>
   * <strong>Description : </strong>保存消息接收人<br> 
   * <strong>Create on : 2016年9月12日 上午10:54:18<br></strong>
   * <p>
   * @param siteCode
   * @param id
   * @param userCode
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertMessageUser(@Param("siteCode") String siteCode, @Param("id") Long id, @Param("userCode") String userCode);

  /**
   * 
   * <strong>Title : deleteMessageUserById<br></strong>
   * <strong>Description : </strong>删除所有消息接收人<br> 
   * <strong>Create on : 2016年9月12日 上午10:55:31<br></strong>
   * <p>
   * @param id
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteMessageUserById(Long id);

}
